feat: marking public APIs with annotations#3428
Conversation
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
…3263) Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
…does not have to be Kubernetes resources (operator-framework#3377) Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
…y deadline (operator-framework#3380) Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
xstefank
left a comment
There was a problem hiding this comment.
As we discussed on the meeting, I don't think introducing this kind of new API that we would need to continuously maitain would add much better approach of what is public and what is not. We should have a clearly defined rules, but users will not check this and we would need to remember to take care of keeping all annotations in check.
I'm also not fully convinced TBH either, will come back to this a bit later. Also we can discuss more in community calls. |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@SamBarker @robobario @afalhambra-hivemq @gyfora @jiangzho @dongjoon-hyun If you could give us feedback on this topic would be really helpful (see also related/linked issue), pls let us know if you see value in this (or not :) ). thank you!! |
dongjoon-hyun
left a comment
There was a problem hiding this comment.
Thank you for pinging me, @csviri . The idea looks reasonable. Just two questions.
- Are you going to mark every class and API into those three categories?
- What happens for the existing downstream users who use some APIs which becomes
InternalorExperimentalor unmarked by this PR?
thank you for reply!!
For practical reasons I originally planned just to make public API classes with
The If we marks an API However, note that even this is sometimes hard to follow, and there might be no way around to change it in some exceptional cases. Considering for example change like we did between 4.2 -> 4.3, with condition API: Where there was had good to have But, since we might do such minor changes anyways, it might be reasonable to define So those are the dilemmas I see with this. |
No description provided.